package com.zkt.practice.server.service;

import com.zkt.practice.api.req.*;
import com.zkt.practice.api.vo.RankVO;
import com.zkt.practice.api.vo.ReportVO;
import com.zkt.practice.api.vo.ScoreDetailVO;
import com.zkt.practice.api.vo.SubjectDetailVO;

import java.util.List;

/**
 * @author 赵开泰
 * @program jc-club
 * @date 2025/3/23
 * @description 练题详情service层
 **/

public interface PracticeDetailService {
	
	/**
	 * 提交练题情况
	 */
	Boolean submit(SubmitPracticeDetailReq req);
	
	/**
	 * 练习提交题目
	 */
	Boolean submitSubject(SubmitSubjectDetailReq req);
	
	/**
	 * 每题得分详情
	 */
	List<ScoreDetailVO> getScoreDetail(GetScoreDetailReq req);
	
	/**
	 * 获得答案详情
	 */
	SubjectDetailVO getSubjectDetail(GetSubjectDetailReq req);
	
	/**
	 * 答案解析-评估报告
	 */
	ReportVO getReport(GetReportReq req);
	
	/**
	 * 练习榜
	 */
	List<RankVO> getPracticeRankList();
	
	/**
	 * 放弃练习
	 */
	Boolean giveUp(Long practiceId);
	
}
